< previous page page_85 next page >

Page 85
With true object-oriented development, the foundation of the system is constructed with only the user's needs in mind. Note the word true in the preceding sentence. Many newcomers to OOP introduce their previous traditions into the process. This untrue OO process leads to faulty use cases and, thus, foundations that have cracks everywhere. Only the end users and domain experts can provide the concrete for the foundation. It is your job to fashion and mold it into a stable, long-lasting slab. Just as with building a real house, laying a solid foundation will consume the bulk of the time it takes to develop the entire system. If you try to take shortcuts to produce a foundation in record time, your foundation will inevitably crack and, as with building contractors, you might be held liable for the damages. If you are an independent consultant, you'll want to take your time to properly develop the system's foundation.
After the foundation is nicely laid, the rest of the process will be quicker than you expect. Future projects that overlap with the first OO project will be that much faster because you'll be able to reuse code and documentation. With each successive project that has similar requirements, the project deadlines will be more easily met (with lots of time to spare). Time-to-market is thus minimal. Be patient! It might take nearly three years before you reach the point when a project benefits from full reuse (much shorter if you hire a consultant who has reusable class libraries and libraries of standard use cases). Because software is a company's capital asset, it would be wise to consider the three years, or fewer, as the initial investment period of the asset.
Summary
In this chapter, you gained a better understanding of the object-oriented design process. You became familiar with the Objectory design process introduced by Ivar Jacobson, the Object Modeling Technique by Jim Rumbaugh, and the Booch method by Grady Booch. You learned about the importance of traceability from one model and diagram to another, as well as the design-view class model.
You were introduced to two software development automation tools: Rational Rose/Visual Basic and Microsoft Visual Modeler. You learned some reasons you might want to use them, as well as the differences and similarities between them. You also learned how to break a proposed Visual Basic application into subsystem packages and how to name subsystem packages, classes, and objects.
Finally, you became familiar with an advanced issue in object-oriented design, namely, design patterns. Examples of the Singleton and Factory patterns were provided in the form of the Customer and AccountCreator classes.
Tomorrow you will round out the fundamental concepts of OOP with lots of sample code and explanations, using the Second Bank of Carrollton Bank Teller System example.

 
< previous page page_85 next page >

If you like this book, buy it!